package W330;

/**
 * @author zxc
 * @date 2023/01/29 11:20
 **/

import java.util.ArrayList;
import java.util.Deque;
import java.util.LinkedList;
import java.util.List;

/**
 * 题目 ：统计桌面上的不同数字
 * 题目详述 ：
 * 给你一个正整数 n ，开始时，它放在桌面上。在 109 天内，每天都要执行下述步骤：
 * 对于出现在桌面上的每个数字 x ，找出符合 1 <= i <= n 且满足 x % i == 1 的所有数字 i 。
 * 然后，将这些数字放在桌面上。
 * 返回在 109 天之后，出现在桌面上的 不同 整数的数目。
 *
 * 注意：
 * 一旦数字放在桌面上，则会一直保留直到结束。
 * % 表示取余运算。例如，14 % 3 等于 2 。
 *
 * 提示：
 * 1 <= n <= 100
 */
public class DistinctIntegers {
    /**
     * 核心思想 ：
     * 即，经过十亿天的遍历之后，由于一开始就将n自身加入到结果队列list中，
     * 同时，1必然是不可以放到桌面上的;（任何正整数 % 1 == 0）
     * @param n
     * @return
     */
    public int distinctIntegers(int n) {
        List<Integer> list = new ArrayList<>();
        list.add(n);
        for(int i = 2 ; i < n ; i++){
            list.add(i);
        }
        return list.size();
    }
}
